/**
 * TypeScript String（字符串）
 * String 对象用于处理文本（字符串）。
 */
var txt = new String("string");
var txt2 = "string";

/**
 * charAt()
 * 返回在指定位置的字符。
 */
var str1 = new String("RUNOOB");
console.log("str.charAt(0) 为:" + str1.charAt(0)); // R
console.log("str.charAt(1) 为:" + str1.charAt(1)); // U
console.log("str.charAt(10) 为:" + str1.charAt(10));

/**
 * indexOf()
 * 返回某个指定的字符串值在字符串中首次出现的位置。
 * 如果没有找到就返回-1
 */
var str1 = new String("RUNOOB");
var index = str1.indexOf("OO");
console.log("查找的字符串位置 :" + typeof index); // 3
console.log(str1.indexOf("a"));

/**
 * lastIndexOf()
 * 从后向前搜索字符串，并从起始位置（0）开始计算返回字符串最后出现的位置。
 * 匹配中之后不再继续找了  索引还是从0开始的
 */
var str1 = new String("This is string one and again string");
var index = str1.lastIndexOf("string");
console.log("lastIndexOf 查找到的最后字符串位置 :" + index); // 29

/**
 * localeCompare()
 * 用本地特定的顺序来比较两个字符串。
 * 如果 stringObject 小于 target，则 localeCompare() 返回小于 0 的数。
 * 如果 stringObject 大于 target，则该方法返回大于 0 的数。
 * 如果两个字符串相等，或根据本地排序规则没有区别，该方法返回 0。
 */
var array = ["白鸽", "麻雀", "大象", "狗", "猫", "鸡"];
array = array.sort(function (a, b) {
  // sort函数
  return a.localeCompare(b); //小于0就换位置，大于0就不换位置
});
console.log(array); //["白鸽", "大象", "狗", "鸡", "麻雀", "猫"]

/**
 * match()
 * 查找找到一个或多个正则表达式的匹配。
 */
var str = "The rain in SPAIN stays mainly in the plain";
var n = str.match(/ain/gi);
console.log(n); // [ 'ain', 'AIN', 'ain', 'ain' ]

/**
 * replace()
 * 替换与正则表达式匹配的子串
 */
var re = /(\w+)\s(\w+)/;
var str = "zara ali";
var newstr = str.replace(re, "$2, $1");
console.log(newstr); // ali, zara

/**
 * search()
 * 检索与正则表达式相匹配的值
 * 和indexOf差不多
 */
var re = /apples/gi;
var str = "33Apples are round, and apples are juicy.";
if (str.search(re) == -1) {
  console.log("Does not contain Apples");
} else {
  console.log("Contains Apples", str.search(re));
}

/**
 * toLocaleLowerCase()
 * 根据主机的语言环境把字符串转换为小写，只有几种语言（如土耳其语）具有地方特有的大小写映射。
 *
 * toLowerCase()
 * 字符串转换为小写。
 */
var str = "Runoob Google";
console.log(str.toLowerCase()); // runoob google

/**
 * toLocaleUpperCase()
 * 据主机的语言环境把字符串转换为大写，只有几种语言（如土耳其语）具有地方特有的大小写映射。
 *
 * toUpperCase()
 * 把字符串转换为大写。
 */
var str = "Runoob Google";
console.log(str.toUpperCase()); // RUNOOB GOOGLE
